Approche langage au développement du support protocolaire d'applications réseaux
نویسنده
چکیده
A network application communicates with other applications according to a set of rules known as a protocol. This communication is managed by the part of the application known as the protocolhandling layer. This protocol-handling layer enables the manipulation of protocol messages. This layer is a critical component of a network application since it represents the interface between the application and the outside world. It must thus satisfy two constraints : it must be efficient to be able to treat a large number of messages and it must be robust to face various attacks targetting the application itself or the underlying platform. Despite these constraints, the development process of this protocol-handling layer still remains rudimentary and requires a high level of expertise. It consists of translating the protocol specification written in a high level formalism such as ABNF towards low level code such as C. The gap between these abstraction levels can entail many errors. This thesis proposes a new language-based approach to the development of protocol-handling layers, to improve their robustness without compromising their performance. Our approach is based on the use of a domain-specific language, Zebu, to specify the protocol-handling layer of network applications that use textual application protocols à la HTTP. The Zebu syntax is very close to that of ABNF, facilitating the adoption of Zebu by domain experts. By annotating the original ABNF specification of a protocol, the Zebu user can dedicate the protocol-handling layer to the needs of a given application. The Zebu compiler first checks the annotated specification for inconsistencies and then generates a protocol-handling layer according to the provided annotations. This protocolhandling layer is made of a set of data structures that represent a message, a parser that fills in these data structures and various stub functions to access these data structures or drive the parsing of a message. By default, the generated message parser only accepts messages that strictly conform to the protocol. This validation criteria can be relaxed for more flexibility and better performance. The contributions of this thesis are as follows : – We carry out a complete analysis of the network application domain. Guided by the results of this domain analysis, we identify the input parameters of the design of a domain-specific language. – We present the design of a declarative domain-specific language, Zebu, for specifying a protocolhandling layer dedicated to a given application. We have developed various specifications to validate the expressiveness of the language. – We describe a Zebu compiler that generates C code that can be used with the Linux operating system. We experimentally assess the robustness of protocol-handling layers generated using the Zebu approach, and find that four times more invalid messages are detected by a Zebu-based protocol-handling layer than by equivalent protocol-handling layer. – We perform performance experiments on various protocol-handling layers in real conditions, and find that the use of Zebu incurs no significant performance penalty for an equivalent degree of robustness. The approach based on the use of domain-specific languages that we propose in this thesis opens up new possibilities for the development of the robust and efficient network applications.
منابع مشابه
La combinaison d'UML avec la méthode formelle CSP-OZ pour le développement d'applications bases des données
Les méthodes utilisées pour la spécification et le développement d’applications de bases de données sont basées soit sur les notations graphiques (appelées méthodes semi-formelles) soit sur des notations mathématiques (appelées méthodes formelles). Les méthodes semi-formelles (E-R, UML, OMT,...) (Jacobson et al., 2005) permettent une représentation intuitive et synthétique du système à étudier....
متن کاملCombinaison de spécifications formelles pour la modélisation des systèmes d'information. (Coupling of formal specifications for modelling information systems)
State Machines [Gur95]. Les Abstract State Machines (ASM), appelées aussi Evolving Algebras (EA), ont pour but de relier les spécifications de type algébrique et leur modèle sémantique. L’approche consiste à construire des machines (appelées aussi “e-algèbres”) qui représentent les systèmes de manière à ce que la correction des spécifications soit établie par de simples observations et vérifica...
متن کاملUne approche architecturale à base de composants pour l'implémentation des Systèmes Multi-Agents
Résumé. Motivés par le développement des Systèmes Multi-Agents (SMA), nous explorons dans cet article la production de supports de développement orientés agent spécialisés en utilisant des architectures logicielles à composants. L’objectif de ce travail est de faciliter le passage de la conception du SMA, en termes de types d’agents et d’interactions, à son implémentation, à l’aide de ce que no...
متن کاملModélisation de réseaux biologiques discrets en programmation logique par contraintes
RÉSUMÉ. Des outils informatiques sont nécessaires au développement de la biologie systémique pour analyser qualitativement la dynamique des réseaux d’interaction. Dans ce contexte, notre objectif est de développer un outil autour d’une spécification unique qui permette aux biologistes dans un contexte de connaissances incomplètes et qualitatives, (i) d’inférer des modèles à partir de propriétés...
متن کاملDes vertus de la schizophrénie pour le prototypage d'applications à composants interopérables
RÉSUMÉ. La schizophrénie dans le domaine des intergiciels vise à résoudre le problème d’interopérabilité entre modèles de répartition, plus connu sous l’acronyme M2M pour « Middleware To Middleware ». Si un intergiciel générique instancie une personnalité pour un modèle, un intergiciel schizophrène instancie simultanément plusieurs personnalités cohabitantes et interagissantes. Cette approche p...
متن کامل